package org.example;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import java.io.File;
import java.io.IOException;
import java.util.Set;
import static java.lang.Thread.sleep;
/**
 * @author starsea
 * @date 2024-02-15 21:57
 */

public class Test2 {
    public static void main(String[] args) throws InterruptedException, IOException {
        //test01();
        //test02();
        test03();
    }
//截图
    private static void test03() throws InterruptedException, IOException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //鼠标移动
        //创建Action对象
        Actions actions=new Actions(webDriver);

        //找打目的地
        WebElement target=webDriver.findElement(By.cssSelector("#s-top-left > a:nth-child(1)"));
        //鼠标移动并点击
        actions.moveToElement(target).doubleClick().perform();//perform()是显示执行的
        sleep(3000);
        //截图，截完的图放在file中
        File file=((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);
        //file复制到磁盘中
        FileUtils.copyFile(file,new File("D://截图2024_2_15.png"));
        webDriver.quit();
    }

    //点击新闻在新闻页面上搜索经济新闻头条
    private static void test02() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //鼠标移动
        //创建Action对象
        Actions actions=new Actions(webDriver);

        //找打目的地
        WebElement target=webDriver.findElement(By.cssSelector("#s-top-left > a:nth-child(1)"));
        //鼠标移动并点击
        actions.moveToElement(target).doubleClick().perform();//perform()是显示执行的
        sleep(3000);
        //获取窗口距离
        //获取当前窗口
        String cur_windows=webDriver.getWindowHandle();
        //获取打开的所有窗口
        Set<String> all_windows=webDriver.getWindowHandles();
        String target1="";
        //找到最后一个窗口
        for(String tmp:all_windows)
        {
            target1=tmp;
            if(!cur_windows.equals(target1))
            {
                //转换到最后一个窗口
                webDriver.switchTo().window(target1);
            }
        }
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#ww"));
        //输入蛋糕
        input.sendKeys("经济新闻头条");
        sleep(3000);
        webDriver.findElement(By.cssSelector("#ww")).sendKeys(Keys.ENTER);
        WebElement target2=webDriver.findElement(By.cssSelector("#s_tab > div > a.s-tab-item.s-tab-item_1CwH-.s-tab-pic_p4Uej.s-tab-pic"));
        sleep(3000);
        //鼠标移动并点击
        actions.moveToElement(target2).doubleClick().perform();//perform()是显示执行的
        webDriver.quit();
    }

    //鼠标事件
    public static void test01() throws InterruptedException {
        //创建驱动
        WebDriver webDriver=new ChromeDriver();
        //打开百度首页
        webDriver.get("https://www.baidu.com/");
        //找到输入框
        WebElement input=webDriver.findElement(By.cssSelector("#kw"));
        //输入蛋糕
        input.sendKeys("企业微信");
        sleep(3000);
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
        //鼠标移动
        //创建Action对象
        Actions actions=new Actions(webDriver);
        sleep(3000);
        //找打目的地
        WebElement target=webDriver.findElement(By.cssSelector("#s_tab > div > a.s-tab-item.s-tab-item_1CwH-.s-tab-pic_p4Uej.s-tab-pic"));
        sleep(3000);
        //鼠标移动并点击
        actions.moveToElement(target).doubleClick().perform();//perform()是显示执行的
    }
}
